<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.20"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>yLib: /home/sky/yLib/include/utility/ylog.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">yLib
   &#160;<span id="projectnumber">V0.0.9 beta</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.20 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('ylog_8hpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">ylog.hpp</div>  </div>
</div><!--header-->
<div class="contents">
<a href="ylog_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * @Author: Sky</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * @Date: 2019-07-04 11:28:52</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * @LastEditors: Sky</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * @LastEditTime: 2020-11-30 17:54:40</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * @Description: </span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160; </div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#ifndef __YLIB_UTILITY_YLOG_HPP__</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#define __YLIB_UTILITY_YLOG_HPP__</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160; </div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#include &lt;unordered_map&gt;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &lt;utility&gt;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160; </div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifdef _WIN32</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">    #pragma warning(disable:4067) //warning C4067: 预处理器指令后有意外标记 - 应输入换行符</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">    #pragma warning(disable:4251) //warning C4251: xxxxx需要有dll接口由xxxx的客户端使用</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#endif //_WIN32</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#ifdef _WIN32</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;windows.h&gt;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160; </div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#elif __linux__ || __linux</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#endif//__cplusplus</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;string.h&gt;</span></div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &lt;stdarg.h&gt;</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;unistd.h&gt;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;pthread.h&gt;</span></div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;}</div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#endif//__cplusplus</span></div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160; </div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#elif __unix__ || __unix</span></div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160; </div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#endif //__unix__ || __unix</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160; </div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="yobject_8hpp.html">core/yobject.hpp</a>&quot;</span></div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160; </div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160; </div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160; </div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">namespace </span>log4cpp{</div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160; </div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keyword">class </span>Category;</div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;}</div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceyLib.html">yLib</a>{</div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160; </div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#ifdef _WIN32</span></div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160; </div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">    #define LOG_FILE_AND_FUNCTION_INFO_STRING std::string(&quot;&lt;&lt;  FileName=&quot;) + std::string(__FILE__)+ \</span></div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">        std::string(&quot;  LineNum=&quot;) + std::to_string(__LINE__)+ \</span></div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">        std::string(&quot;  FuncName=&quot;) + std::string(__FUNCDNAME__)    </span></div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160; </div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#elif __linux__ || __linux</span></div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="comment">// Those contain the signature of the function as well as its bare name</span></div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="comment">//__FUNCDNAME__  vs</span></div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    <span class="comment">//__PRETTY_FUNCTION__ gcc</span></div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160; </div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">    #define LOG_FILE_AND_FUNCTION_INFO_STRING std::string(&quot;&lt;&lt;  FileName=&quot;) + std::string(__FILE__)+ \</span></div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor">        std::string(&quot;  LineNum=&quot;) + std::to_string(__LINE__)+ \</span></div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">        std::string(&quot;  FuncName=&quot;) + std::string(__PRETTY_FUNCTION__)       </span></div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160; </div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="preprocessor">#elif __unix__ || __unix</span></div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160; </div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <span class="comment">//TODO</span></div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="preprocessor">#endif //__unix__ || __unix</span></div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160; </div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="ylog_8hpp.html#a8b8af8bedcac87c0d3c68634448b94a7">   86</a></span>&#160;<span class="preprocessor">    #define MSG_BUF_SIZE 4096 //4k ,linux-func-stack max size is 8MB</span></div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160; </div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    <span class="comment">//parity: debug &lt; info &lt; warn &lt; error</span></div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    <span class="comment">//deprecated the follow macro  ---------  start --------------</span></div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="comment">//For new codes,you should do not use the fllow macro.</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="ylog_8hpp.html#aced280dedfb9d8f58b069c7a1f80c4ae">   91</a></span>&#160;<span class="preprocessor">    #define ENABLE_DEBUG_LOG_LEVEL 0x01</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="ylog_8hpp.html#a09c60e92e112d65ddbacc436aa07deb1">   92</a></span>&#160;<span class="preprocessor">    #define ENABLE_INFO_LOG_LEVEL 0x02</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="ylog_8hpp.html#a10f2665cc4ac0677065465bb223fca82">   93</a></span>&#160;<span class="preprocessor">    #define ENABLE_WARN_LOG_LEVEL 0x04</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="ylog_8hpp.html#a5c2526c8361b57ec2e1b6329c0fc24a2">   94</a></span>&#160;<span class="preprocessor">    #define ENABLE_ERROR_LOG_LEVEL 0x08</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="ylog_8hpp.html#ad161b25638e6ab25dae2036ac895252d">   95</a></span>&#160;<span class="preprocessor">    #define ENABLE_ALL_LOG_LEVEL (ENABLE_DEBUG_LOG_LEVEL | ENABLE_INFO_LOG_LEVEL | ENABLE_WARN_LOG_LEVEL | ENABLE_ERROR_LOG_LEVEL)</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="ylog_8hpp.html#a70a0ad84667cf6a47cbdbee2d127457c">   96</a></span>&#160;<span class="preprocessor">    #define DISABLE_ALL_LOG_LEVEL 0x00</span></div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="comment">//deprecated the  macro  ---------         end --------------</span></div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160; </div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160; </div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="namespaceyLib.html#aba38c805e216325a931550a322517342">  103</a></span>&#160;    <span class="keyword">typedef</span> <span class="keyword">enum</span> __em_ylog_level__:uint16_t{</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160; </div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="namespaceyLib.html#aba38c805e216325a931550a322517342a0fd7d6244725d42859bb1fb27738c2af">  105</a></span>&#160;        <a class="code" href="namespaceyLib.html#aba38c805e216325a931550a322517342a0fd7d6244725d42859bb1fb27738c2af">_DISABLE_ALL_LOG_LEVEL_</a> = 0x0000,</div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160; </div>
<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="namespaceyLib.html#aba38c805e216325a931550a322517342a55ec417518856b1870d0ce693cecc100">  107</a></span>&#160;        <a class="code" href="namespaceyLib.html#aba38c805e216325a931550a322517342a55ec417518856b1870d0ce693cecc100">_ENABLE_DEBUG_LOG_LEVEL_</a> = 0x0001,</div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="namespaceyLib.html#aba38c805e216325a931550a322517342a214e99a31ab7b6b570e53837391feced">  108</a></span>&#160;        <a class="code" href="namespaceyLib.html#aba38c805e216325a931550a322517342a214e99a31ab7b6b570e53837391feced">_DISABLE_DEBUG_LOG_LEVEL_</a> = (uint16_t)~<a class="code" href="namespaceyLib.html#aba38c805e216325a931550a322517342a55ec417518856b1870d0ce693cecc100">_ENABLE_DEBUG_LOG_LEVEL_</a>,</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160; </div>
<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="namespaceyLib.html#aba38c805e216325a931550a322517342a6b6c5b0e8906001ab7a7e914cf5d8ea9">  110</a></span>&#160;        <a class="code" href="namespaceyLib.html#aba38c805e216325a931550a322517342a6b6c5b0e8906001ab7a7e914cf5d8ea9">_ENABLE_INFO_LOG_LEVEL_</a> = 0x0002,</div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="namespaceyLib.html#aba38c805e216325a931550a322517342acaa38d80f78fd2122b196c98de6ad6ec">  111</a></span>&#160;        <a class="code" href="namespaceyLib.html#aba38c805e216325a931550a322517342acaa38d80f78fd2122b196c98de6ad6ec">_DISABLE_INFO_LOG_LEVEL_</a> = (uint16_t)~<a class="code" href="namespaceyLib.html#aba38c805e216325a931550a322517342a6b6c5b0e8906001ab7a7e914cf5d8ea9">_ENABLE_INFO_LOG_LEVEL_</a>,</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160; </div>
<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="namespaceyLib.html#aba38c805e216325a931550a322517342aee0eb9242e824b44c016a78530e886de">  113</a></span>&#160;        <a class="code" href="namespaceyLib.html#aba38c805e216325a931550a322517342aee0eb9242e824b44c016a78530e886de">_ENABLE_WARN_LOG_LEVEL_</a> = 0x0004,</div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="namespaceyLib.html#aba38c805e216325a931550a322517342a0ee94de6edb6e2c0a07f803d0479c823">  114</a></span>&#160;        <a class="code" href="namespaceyLib.html#aba38c805e216325a931550a322517342a0ee94de6edb6e2c0a07f803d0479c823">_DISABLE_WARN_LOG_LEVEL_</a> = (uint16_t)~<a class="code" href="namespaceyLib.html#aba38c805e216325a931550a322517342aee0eb9242e824b44c016a78530e886de">_ENABLE_WARN_LOG_LEVEL_</a>,</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160; </div>
<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="namespaceyLib.html#aba38c805e216325a931550a322517342a6672d74e17f387c6498391f81871a830">  116</a></span>&#160;        <a class="code" href="namespaceyLib.html#aba38c805e216325a931550a322517342a6672d74e17f387c6498391f81871a830">_ENABLE_ERROR_LOG_LEVEL_</a> = 0x0008,</div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="namespaceyLib.html#aba38c805e216325a931550a322517342a8a728eaa8d302d8808a741b63a951c8a">  117</a></span>&#160;        <a class="code" href="namespaceyLib.html#aba38c805e216325a931550a322517342a8a728eaa8d302d8808a741b63a951c8a">_DISABLE_ERROR_LOG_LEVEL_</a> = (uint16_t)~<a class="code" href="namespaceyLib.html#aba38c805e216325a931550a322517342a6672d74e17f387c6498391f81871a830">_ENABLE_ERROR_LOG_LEVEL_</a>,</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160; </div>
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="namespaceyLib.html#aba38c805e216325a931550a322517342a5315323b10df8c5224204dad6ee3dcff">  119</a></span>&#160;        <a class="code" href="namespaceyLib.html#aba38c805e216325a931550a322517342a5315323b10df8c5224204dad6ee3dcff">_ENABLE_ALL_LOG_LEVEL_</a> = 0xFFFF,</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    } <a class="code" href="namespaceyLib.html#aba38c805e216325a931550a322517342">yLogLevel</a>;</div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160; </div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment">        idx------&gt;</span></div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment">    */</span></div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160; </div>
<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="structSubCategoryProperty.html">  129</a></span>&#160;    <span class="keyword">typedef</span> <span class="keyword">struct </span>__st_sub_category_property__</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    {</div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        <span class="comment">/* data */</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="structSubCategoryProperty.html#a56b7e9513f30e30e22df58e3a90ad430">  132</a></span>&#160;        log4cpp::Category * _ptr_sub_category = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="structSubCategoryProperty.html#a9d83171008d960bd68f805768c85a4e1">  133</a></span>&#160;        uint16_t _c_sub_log4cpp_log_level = <a class="code" href="namespaceyLib.html#aba38c805e216325a931550a322517342a5315323b10df8c5224204dad6ee3dcff">yLogLevel::_ENABLE_ALL_LOG_LEVEL_</a>;</div>
<div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="structSubCategoryProperty.html#a56381153a28a7e40bb531dca00b446f4">  134</a></span>&#160;        uint16_t _c_sub_ylog_log_level = <a class="code" href="namespaceyLib.html#aba38c805e216325a931550a322517342a5315323b10df8c5224204dad6ee3dcff">yLogLevel::_ENABLE_ALL_LOG_LEVEL_</a>;</div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160; </div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    } <a class="code" href="structSubCategoryProperty.html">SubCategoryProperty</a>;</div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    </div>
<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="namespaceyLib.html#aafac5e659058b54da4669f945e6e55c5">  141</a></span>&#160;    <span class="keyword">typedef</span> std::unordered_map&lt;std::string, SubCategoryProperty&gt; <a class="code" href="namespaceyLib.html#aafac5e659058b54da4669f945e6e55c5">TypeSubCategoryMap</a>;</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160; </div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160; </div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="comment">//yLog support thread-safety,defaultly.</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="classyLib_1_1yLog.html">  149</a></span>&#160;<span class="comment"></span>    <span class="keyword">class </span>__YLIB_EXPORT__ <a class="code" href="classyLib_1_1yLog.html">yLog</a> <a class="code" href="yobject_8hpp.html#a456ca9afeca82fe693720d57ef746192">MACRO_PUBLIC_INHERIT_YOBJECT</a>{</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160; </div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        <span class="keyword">public</span>:</div>
<div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classyLib_1_1yLog.html#aabbbad87b1e18ab48f30ea0cf35385f4">  159</a></span>&#160;            <a class="code" href="classyLib_1_1yLog.html#aabbbad87b1e18ab48f30ea0cf35385f4">yLog</a>(<a class="code" href="classyLib_1_1yLog.html">yLog</a> &amp; log) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160; </div>
<div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="classyLib_1_1yLog.html#ae8f6a6dd4053cbb5ae3b92a2200e12dc">  168</a></span>&#160;            <a class="code" href="classyLib_1_1yLog.html">yLog</a> &amp; <a class="code" href="classyLib_1_1yLog.html#ae8f6a6dd4053cbb5ae3b92a2200e12dc">operator=</a>(<a class="code" href="classyLib_1_1yLog.html">yLog</a> &amp; log) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160; </div>
<div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classyLib_1_1yLog.html#a3b722f581e88016a247655cf87037cde">  177</a></span>&#160;            <a class="code" href="classyLib_1_1yLog.html#a3b722f581e88016a247655cf87037cde">yLog</a>(<a class="code" href="classyLib_1_1yLog.html">yLog</a> &amp;&amp; log) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160; </div>
<div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="classyLib_1_1yLog.html#af6279a49d1e5f36b88015325d9a897da">  186</a></span>&#160;            <a class="code" href="classyLib_1_1yLog.html">yLog</a> &amp;&amp; <a class="code" href="classyLib_1_1yLog.html#af6279a49d1e5f36b88015325d9a897da">operator=</a>(<a class="code" href="classyLib_1_1yLog.html">yLog</a> &amp;&amp; log) = <span class="keyword">delete</span>;</div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;  </div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;            <span class="keyword">static</span> <span class="keywordtype">void</span> SetLog4cpp(<span class="keywordtype">bool</span> enable_log4cpp = <span class="keyword">false</span>, <a class="code" href="src_2CMakeLists_8txt.html#a296644e9ff1d0a602b4703f361406374">std::string</a> log_path = <span class="stringliteral">&quot;log4cplus.properties&quot;</span>);</div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160; </div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;            <span class="keyword">static</span> <span class="keywordtype">void</span> SetLog4cppSubCategory(<a class="code" href="src_2CMakeLists_8txt.html#a296644e9ff1d0a602b4703f361406374">std::string</a> category_name);</div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160; </div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;            <span class="comment">//If you want to enable this feature,system must define _POSIX_SHARED_MEMORY_OBJECTS(getconf -a)</span></div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="comment"></span>            <span class="keyword">static</span> <span class="keywordtype">void</span> SetProcessSafetyFeature(<span class="keywordtype">bool</span> enable_feature);</div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160; </div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;            <span class="keyword">static</span> <span class="keywordtype">void</span> SetLog4cppLogLevel(uint16_t log_level);</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160; </div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;            <span class="keyword">static</span> <span class="keywordtype">void</span> SetLog4cppLogLevel(<a class="code" href="src_2CMakeLists_8txt.html#a296644e9ff1d0a602b4703f361406374">std::string</a> &amp;category_name, uint16_t log_level);</div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;            </div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160; </div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;            <span class="keyword">static</span> <span class="keywordtype">void</span> SetyLogLogLevel(uint16_t log_level);</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160; </div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;            <span class="keyword">static</span> <span class="keywordtype">void</span> SetyLogLogLevel(<a class="code" href="src_2CMakeLists_8txt.html#a296644e9ff1d0a602b4703f361406374">std::string</a> &amp;category_name, uint16_t log_level);</div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;            </div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;            <span class="keyword">static</span> <span class="keywordtype">void</span> D(<span class="keyword">const</span> <a class="code" href="src_2CMakeLists_8txt.html#a296644e9ff1d0a602b4703f361406374">std::string</a> fmt , ...);</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160; </div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;            <span class="keyword">static</span> <span class="keywordtype">void</span> W(<span class="keyword">const</span> <a class="code" href="src_2CMakeLists_8txt.html#a296644e9ff1d0a602b4703f361406374">std::string</a> fmt , ...);</div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160; </div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;            <span class="keyword">static</span> <span class="keywordtype">void</span> I(<span class="keyword">const</span> <a class="code" href="src_2CMakeLists_8txt.html#a296644e9ff1d0a602b4703f361406374">std::string</a> fmt , ...);</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160; </div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;            <span class="keyword">static</span> <span class="keywordtype">void</span> E(<span class="keyword">const</span> <a class="code" href="src_2CMakeLists_8txt.html#a296644e9ff1d0a602b4703f361406374">std::string</a> fmt , ...);</div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;            </div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;            <span class="keyword">static</span> <span class="keywordtype">void</span> D(<a class="code" href="src_2CMakeLists_8txt.html#a296644e9ff1d0a602b4703f361406374">std::string</a> &amp;category_name, <span class="keyword">const</span> <a class="code" href="src_2CMakeLists_8txt.html#a296644e9ff1d0a602b4703f361406374">std::string</a> fmt , ...);</div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160; </div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;            <span class="keyword">static</span> <span class="keywordtype">void</span> W(<a class="code" href="src_2CMakeLists_8txt.html#a296644e9ff1d0a602b4703f361406374">std::string</a> &amp;category_name, <span class="keyword">const</span> <a class="code" href="src_2CMakeLists_8txt.html#a296644e9ff1d0a602b4703f361406374">std::string</a> fmt , ...);</div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160; </div>
<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;            <span class="keyword">static</span> <span class="keywordtype">void</span> I(<a class="code" href="src_2CMakeLists_8txt.html#a296644e9ff1d0a602b4703f361406374">std::string</a> &amp;category_name, <span class="keyword">const</span> <a class="code" href="src_2CMakeLists_8txt.html#a296644e9ff1d0a602b4703f361406374">std::string</a> fmt , ...);</div>
<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160; </div>
<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;            <span class="keyword">static</span> <span class="keywordtype">void</span> E(<a class="code" href="src_2CMakeLists_8txt.html#a296644e9ff1d0a602b4703f361406374">std::string</a> &amp;category_name, <span class="keyword">const</span> <a class="code" href="src_2CMakeLists_8txt.html#a296644e9ff1d0a602b4703f361406374">std::string</a> fmt , ...);</div>
<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160; </div>
<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;            <span class="keyword">static</span> <span class="keywordtype">void</span> D(<span class="keyword">const</span> <span class="keywordtype">char</span> * fmt , ...);</div>
<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160; </div>
<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;            <span class="keyword">static</span> <span class="keywordtype">void</span> W(<span class="keyword">const</span> <span class="keywordtype">char</span> * fmt , ...);</div>
<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160; </div>
<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;            <span class="keyword">static</span> <span class="keywordtype">void</span> I(<span class="keyword">const</span> <span class="keywordtype">char</span> * fmt , ...);</div>
<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160; </div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;            <span class="keyword">static</span> <span class="keywordtype">void</span> E(<span class="keyword">const</span> <span class="keywordtype">char</span> * fmt , ...);</div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160; </div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160; </div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160; </div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;            <span class="keyword">static</span> <span class="keywordtype">void</span> D(<a class="code" href="src_2CMakeLists_8txt.html#a296644e9ff1d0a602b4703f361406374">std::string</a> &amp;category_name, <span class="keyword">const</span> <span class="keywordtype">char</span> * fmt , ...);</div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160; </div>
<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;            <span class="keyword">static</span> <span class="keywordtype">void</span> W(<a class="code" href="src_2CMakeLists_8txt.html#a296644e9ff1d0a602b4703f361406374">std::string</a> &amp;category_name, <span class="keyword">const</span> <span class="keywordtype">char</span> * fmt , ...);</div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160; </div>
<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;            <span class="keyword">static</span> <span class="keywordtype">void</span> I(<a class="code" href="src_2CMakeLists_8txt.html#a296644e9ff1d0a602b4703f361406374">std::string</a> &amp;category_name, <span class="keyword">const</span> <span class="keywordtype">char</span> * fmt , ...);</div>
<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160; </div>
<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;            <span class="keyword">static</span> <span class="keywordtype">void</span> E(<a class="code" href="src_2CMakeLists_8txt.html#a296644e9ff1d0a602b4703f361406374">std::string</a> &amp;category_name, <span class="keyword">const</span> <span class="keywordtype">char</span> * fmt , ...);</div>
<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;        <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;        <a class="code" href="classyLib_1_1yLog.html">yLog</a>() noexcept; <span class="comment">// yLog is a static-class, we can not instance it</span></div>
<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160; </div>
<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;        </div>
<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;        ~<a class="code" href="classyLib_1_1yLog.html">yLog</a>() noexcept;</div>
<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;        private:</div>
<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160; </div>
<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160; </div>
<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;        static <span class="keywordtype">void</span> _ylog_log_impl(uint16_t log_type, const <span class="keywordtype">char</span> * fmt, va_list arg_list);</div>
<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160; </div>
<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;        static <span class="keywordtype">void</span> _ylog_log_impl(uint16_t log_type, const <span class="keywordtype">char</span> * fmt, va_list arg_list, std::<span class="keywordtype">string</span> &amp; category_name);</div>
<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160; </div>
<div class="line"><a name="l00424"></a><span class="lineno"><a class="line" href="classyLib_1_1yLog.html#ace6d0d977d2ca3c71a2b26320406c2ca">  424</a></span>&#160;        static <span class="keywordtype">char</span> _c_ptr_msg_buf[<a class="code" href="ylog_8hpp.html#a8b8af8bedcac87c0d3c68634448b94a7">MSG_BUF_SIZE</a>];</div>
<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160; </div>
<div class="line"><a name="l00430"></a><span class="lineno"><a class="line" href="classyLib_1_1yLog.html#a1f3823c287955b3322f23a9a4494323d">  430</a></span>&#160;        static log4cpp::Category * _ptr_log4_category_root;</div>
<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160; </div>
<div class="line"><a name="l00436"></a><span class="lineno"><a class="line" href="classyLib_1_1yLog.html#a157ef63dad3abcc92f7064cfd1000dc9">  436</a></span>&#160;        static <a class="code" href="namespaceyLib.html#aafac5e659058b54da4669f945e6e55c5">TypeSubCategoryMap</a> _log4cpp_sub_category_map;</div>
<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160; </div>
<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160; </div>
<div class="line"><a name="l00443"></a><span class="lineno"><a class="line" href="classyLib_1_1yLog.html#ade9c5010462fb728b09be21047a0d0b0">  443</a></span>&#160;        static <span class="keywordtype">bool</span> _b_enable_log4cpp;</div>
<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160; </div>
<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;        </div>
<div class="line"><a name="l00450"></a><span class="lineno"><a class="line" href="classyLib_1_1yLog.html#abf6e0d07541b78810309fbc6bb09222d">  450</a></span>&#160;        static <span class="keywordtype">bool</span> _b_enable_feature_ps;</div>
<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;        </div>
<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160; </div>
<div class="line"><a name="l00457"></a><span class="lineno"><a class="line" href="classyLib_1_1yLog.html#abed4c2347a2fc12c550e11b6f73450ed">  457</a></span>&#160;        static uint16_t _c_log4cpp_log_level;</div>
<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;        </div>
<div class="line"><a name="l00463"></a><span class="lineno"><a class="line" href="classyLib_1_1yLog.html#a287c0233628508aec712f85701be69ff">  463</a></span>&#160;        static uint16_t _c_ylog_log_level;</div>
<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160; </div>
<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160; </div>
<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160; </div>
<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;<span class="preprocessor">#ifdef _WIN32</span></div>
<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160; </div>
<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;        <span class="keyword">static</span> HANDLE _thread_mutex_handle;</div>
<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">bool</span> _thread_mutex_is_init;</div>
<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">void</span> _init_thread_mutex(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160; </div>
<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;<span class="preprocessor">#elif __linux__ || __linux</span></div>
<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160; </div>
<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;        <span class="keyword">static</span> pthread_mutex_t _thread_mutex;</div>
<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;        <span class="keyword">static</span> pthread_mutex_t _process_mutex;</div>
<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160; </div>
<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;<span class="preprocessor">#elif __unix__ || __unix</span></div>
<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160; </div>
<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;<span class="preprocessor">#endif //__unix__ || __unix</span></div>
<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;    };</div>
<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;}</div>
<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160; </div>
<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160; </div>
<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160; </div>
<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;<span class="preprocessor">#endif //__YLIB_UTILITY_YLOG_HPP__</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="anamespaceyLib_html_aba38c805e216325a931550a322517342a5315323b10df8c5224204dad6ee3dcff"><div class="ttname"><a href="namespaceyLib.html#aba38c805e216325a931550a322517342a5315323b10df8c5224204dad6ee3dcff">yLib::_ENABLE_ALL_LOG_LEVEL_</a></div><div class="ttdeci">@ _ENABLE_ALL_LOG_LEVEL_</div><div class="ttdef"><b>Definition:</b> ylog.hpp:119</div></div>
<div class="ttc" id="asrc_2CMakeLists_8txt_html_a296644e9ff1d0a602b4703f361406374"><div class="ttname"><a href="src_2CMakeLists_8txt.html#a296644e9ff1d0a602b4703f361406374">string</a></div><div class="ttdeci">module_name string(TOLOWER ${class_name} class_dir_name) set(SRC $</div><div class="ttdef"><b>Definition:</b> CMakeLists.txt:65</div></div>
<div class="ttc" id="aclassyLib_1_1yLog_html_ae8f6a6dd4053cbb5ae3b92a2200e12dc"><div class="ttname"><a href="classyLib_1_1yLog.html#ae8f6a6dd4053cbb5ae3b92a2200e12dc">yLib::yLog::operator=</a></div><div class="ttdeci">yLog &amp; operator=(yLog &amp;log)=delete</div><div class="ttdoc">Assignment constructor.</div></div>
<div class="ttc" id="anamespaceyLib_html_aba38c805e216325a931550a322517342"><div class="ttname"><a href="namespaceyLib.html#aba38c805e216325a931550a322517342">yLib::yLogLevel</a></div><div class="ttdeci">yLogLevel</div><div class="ttdoc">the level of ylog.</div><div class="ttdef"><b>Definition:</b> ylog.hpp:103</div></div>
<div class="ttc" id="anamespaceyLib_html_aba38c805e216325a931550a322517342a0fd7d6244725d42859bb1fb27738c2af"><div class="ttname"><a href="namespaceyLib.html#aba38c805e216325a931550a322517342a0fd7d6244725d42859bb1fb27738c2af">yLib::_DISABLE_ALL_LOG_LEVEL_</a></div><div class="ttdeci">@ _DISABLE_ALL_LOG_LEVEL_</div><div class="ttdef"><b>Definition:</b> ylog.hpp:105</div></div>
<div class="ttc" id="aclassyLib_1_1yLog_html_aabbbad87b1e18ab48f30ea0cf35385f4"><div class="ttname"><a href="classyLib_1_1yLog.html#aabbbad87b1e18ab48f30ea0cf35385f4">yLib::yLog::yLog</a></div><div class="ttdeci">yLog(yLog &amp;log)=delete</div><div class="ttdoc">Copy constructor.</div></div>
<div class="ttc" id="aclassyLib_1_1yLog_html_a3b722f581e88016a247655cf87037cde"><div class="ttname"><a href="classyLib_1_1yLog.html#a3b722f581e88016a247655cf87037cde">yLib::yLog::yLog</a></div><div class="ttdeci">yLog(yLog &amp;&amp;log)=delete</div><div class="ttdoc">Move constructor.</div></div>
<div class="ttc" id="ayobject_8hpp_html_a456ca9afeca82fe693720d57ef746192"><div class="ttname"><a href="yobject_8hpp.html#a456ca9afeca82fe693720d57ef746192">MACRO_PUBLIC_INHERIT_YOBJECT</a></div><div class="ttdeci">#define MACRO_PUBLIC_INHERIT_YOBJECT</div><div class="ttdoc">The public inherit from yObject.</div><div class="ttdef"><b>Definition:</b> yobject.hpp:101</div></div>
<div class="ttc" id="anamespaceyLib_html_aafac5e659058b54da4669f945e6e55c5"><div class="ttname"><a href="namespaceyLib.html#aafac5e659058b54da4669f945e6e55c5">yLib::TypeSubCategoryMap</a></div><div class="ttdeci">std::unordered_map&lt; std::string, SubCategoryProperty &gt; TypeSubCategoryMap</div><div class="ttdef"><b>Definition:</b> ylog.hpp:141</div></div>
<div class="ttc" id="aclassyLib_1_1yLog_html_af6279a49d1e5f36b88015325d9a897da"><div class="ttname"><a href="classyLib_1_1yLog.html#af6279a49d1e5f36b88015325d9a897da">yLib::yLog::operator=</a></div><div class="ttdeci">yLog &amp;&amp; operator=(yLog &amp;&amp;log)=delete</div><div class="ttdoc">Assignment constructor.</div></div>
<div class="ttc" id="aylog_8hpp_html_a8b8af8bedcac87c0d3c68634448b94a7"><div class="ttname"><a href="ylog_8hpp.html#a8b8af8bedcac87c0d3c68634448b94a7">MSG_BUF_SIZE</a></div><div class="ttdeci">#define MSG_BUF_SIZE</div><div class="ttdoc">The max string buffer of yLog.</div><div class="ttdef"><b>Definition:</b> ylog.hpp:86</div></div>
<div class="ttc" id="aclassyLib_1_1yLog_html"><div class="ttname"><a href="classyLib_1_1yLog.html">yLib::yLog</a></div><div class="ttdoc">This is log-class based on log4cpp in yLib.</div><div class="ttdef"><b>Definition:</b> ylog.hpp:149</div></div>
<div class="ttc" id="anamespaceyLib_html_aba38c805e216325a931550a322517342a6b6c5b0e8906001ab7a7e914cf5d8ea9"><div class="ttname"><a href="namespaceyLib.html#aba38c805e216325a931550a322517342a6b6c5b0e8906001ab7a7e914cf5d8ea9">yLib::_ENABLE_INFO_LOG_LEVEL_</a></div><div class="ttdeci">@ _ENABLE_INFO_LOG_LEVEL_</div><div class="ttdef"><b>Definition:</b> ylog.hpp:110</div></div>
<div class="ttc" id="anamespaceyLib_html_aba38c805e216325a931550a322517342a6672d74e17f387c6498391f81871a830"><div class="ttname"><a href="namespaceyLib.html#aba38c805e216325a931550a322517342a6672d74e17f387c6498391f81871a830">yLib::_ENABLE_ERROR_LOG_LEVEL_</a></div><div class="ttdeci">@ _ENABLE_ERROR_LOG_LEVEL_</div><div class="ttdef"><b>Definition:</b> ylog.hpp:116</div></div>
<div class="ttc" id="anamespaceyLib_html_aba38c805e216325a931550a322517342acaa38d80f78fd2122b196c98de6ad6ec"><div class="ttname"><a href="namespaceyLib.html#aba38c805e216325a931550a322517342acaa38d80f78fd2122b196c98de6ad6ec">yLib::_DISABLE_INFO_LOG_LEVEL_</a></div><div class="ttdeci">@ _DISABLE_INFO_LOG_LEVEL_</div><div class="ttdef"><b>Definition:</b> ylog.hpp:111</div></div>
<div class="ttc" id="anamespaceyLib_html_aba38c805e216325a931550a322517342a0ee94de6edb6e2c0a07f803d0479c823"><div class="ttname"><a href="namespaceyLib.html#aba38c805e216325a931550a322517342a0ee94de6edb6e2c0a07f803d0479c823">yLib::_DISABLE_WARN_LOG_LEVEL_</a></div><div class="ttdeci">@ _DISABLE_WARN_LOG_LEVEL_</div><div class="ttdef"><b>Definition:</b> ylog.hpp:114</div></div>
<div class="ttc" id="anamespaceyLib_html_aba38c805e216325a931550a322517342a8a728eaa8d302d8808a741b63a951c8a"><div class="ttname"><a href="namespaceyLib.html#aba38c805e216325a931550a322517342a8a728eaa8d302d8808a741b63a951c8a">yLib::_DISABLE_ERROR_LOG_LEVEL_</a></div><div class="ttdeci">@ _DISABLE_ERROR_LOG_LEVEL_</div><div class="ttdef"><b>Definition:</b> ylog.hpp:117</div></div>
<div class="ttc" id="ayobject_8hpp_html"><div class="ttname"><a href="yobject_8hpp.html">yobject.hpp</a></div></div>
<div class="ttc" id="anamespaceyLib_html"><div class="ttname"><a href="namespaceyLib.html">yLib</a></div><div class="ttdoc">This is a top namespace in yLib.</div><div class="ttdef"><b>Definition:</b> ylinuxerrnohelper.cpp:28</div></div>
<div class="ttc" id="astructSubCategoryProperty_html"><div class="ttname"><a href="structSubCategoryProperty.html">SubCategoryProperty</a></div><div class="ttdef"><b>Definition:</b> ylog.hpp:130</div></div>
<div class="ttc" id="anamespaceyLib_html_aba38c805e216325a931550a322517342a55ec417518856b1870d0ce693cecc100"><div class="ttname"><a href="namespaceyLib.html#aba38c805e216325a931550a322517342a55ec417518856b1870d0ce693cecc100">yLib::_ENABLE_DEBUG_LOG_LEVEL_</a></div><div class="ttdeci">@ _ENABLE_DEBUG_LOG_LEVEL_</div><div class="ttdef"><b>Definition:</b> ylog.hpp:107</div></div>
<div class="ttc" id="anamespaceyLib_html_aba38c805e216325a931550a322517342aee0eb9242e824b44c016a78530e886de"><div class="ttname"><a href="namespaceyLib.html#aba38c805e216325a931550a322517342aee0eb9242e824b44c016a78530e886de">yLib::_ENABLE_WARN_LOG_LEVEL_</a></div><div class="ttdeci">@ _ENABLE_WARN_LOG_LEVEL_</div><div class="ttdef"><b>Definition:</b> ylog.hpp:113</div></div>
<div class="ttc" id="anamespaceyLib_html_aba38c805e216325a931550a322517342a214e99a31ab7b6b570e53837391feced"><div class="ttname"><a href="namespaceyLib.html#aba38c805e216325a931550a322517342a214e99a31ab7b6b570e53837391feced">yLib::_DISABLE_DEBUG_LOG_LEVEL_</a></div><div class="ttdeci">@ _DISABLE_DEBUG_LOG_LEVEL_</div><div class="ttdef"><b>Definition:</b> ylog.hpp:108</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3a4d35156996fb70540e167b84a39bd1.html">utility</a></li><li class="navelem"><a class="el" href="ylog_8hpp.html">ylog.hpp</a></li>
    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
  </ul>
</div>
</body>
</html>
